package com.ilink.ilinkcommon.domain.PO.studyservice;

/**
 * <h3>new-ilink-java-backend</h3>
 *
 * @Description <p>课程层级文件的实体类表</p>
 * @Author pengshiyao
 * @Date 2024-09-16 14:59
 **/

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;

/**
 * @ClassName StudyCourseFile
 * @Description
 * @Author pengshiyao
 * @Date 2024-09-16 14:59
 **/
@Data
@TableName("study_course_files")
public class StudyCourseFile implements Serializable {

    @TableId(value = "courseFile_id", type = IdType.INPUT)
    private Long courseFileId;  // 课程文件夹的唯一标识

    @TableField("name")
    private String name;  // 文件夹名称

    @TableField("parent_id")
    private Long parentId;  // 当前文件夹的父文件夹

    @TableField("file_path")
    private String filePath;  // 存储文件相对路径

    @TableField("child_id")
    private Long childId;  // 当前文件夹的子文件夹

    @TableField("created_at")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createdAt;  // 创建时间

    @TableField("course_id")
    private Long courseId;

    @TableField("level")
    private int level;

    @TableField("sort_order")
    private Integer sortOrder;  // 文件夹的排序顺序

}
